package com.moli.iov.async;

/**
 * <p>
 *
 * </p>
 *
 * @author: zql
 * @date: 2019/5/16 14:33
 */
public interface ThreadPool<T extends Runnable> {

    /**
     * 执行一个Job
     * @param key
     * @param job
     * @throws InterruptedException
     */
    void execute(String key, T job) throws InterruptedException;

    /**
     * 关闭线程池
     */
    void shutdown();

    /**
     * 获取正在等待执行的任务数量
     * @return
     */
    int getJobSize();
}
